16 research outputs found

    UML 2.0 interactions with OCL/RT constraints

    Get PDF
    The use of formal methods at early stages of software development contributes to the reliability and robustness of the system to be constructed. Int his context, real-time system development benefits from the construction of behavioral models in order to verify the correct satisfaction of time constraints. The Unified Modeling Language (UML) is a software specification language widely used by the industry and the academia. Nevertheless, its version 2.0 lacks a formal semantics for the development of provably-correct models. In addition, its constraint specification language, Object Constraint Language (OCL), has limitations for its use in behavioral models of real-time systems. This work concerns the inter-component behavioral specification of real-time systems. Such behavior is described using the UML 2.0 Interactions language extended for the inclusion of time constraints using the OCL for Real Time (OCL/RT) language. The main problem addressed in this work is the definition of a formal semantics for the fusion of both languages. The semantics allows recognizing valid and invalid behaviors of a system with time constraints. Intended for formal verification, an analysis of the properties derived from the semantics is also done. In particular, the notions of refinement of interactions and refinement of constraints are explored. Finally, the proposal is compared with related works and its practical application is studied in order to analyze its benefits and weaknesses. This work contributes to the formalization of concepts widely used in practice and, inconsequence, to its inclusion in modeling and formal reasoning tools. More-over, the expressivity of the UML 2.0 Interactions language is augmented in order to support complex real-time constraints, not expressable until this moment

    Heterogeneous verification of model transformations

    Get PDF
    Esta tesis trata sobre la verificación formal en el contexto de la Ingeniería Dirigida por Modelos (MDE por sus siglas en inglés). El paradigma propone un ciclo de vida de la ingeniería de software basado en una abstracción de su complejidad a través de la definición de modelos y en un proceso de construcción (semi)automático guiado por transformaciones de estos modelos. Nuestro propósito es abordar la verificación de transformaciones de modelos la cual incluye, por extensión, la verificación de sus modelos. Comenzamos analizando la literatura relacionada con la verificación de transformaciones de modelos para concluir que la heterogeneidad de las propiedades que interesa verificar y de los enfoques para hacerlo, sugiere la necesidad de utilizar diversos dominios lógicos, lo cual es la base de nuestra propuesta. En algunos casos puede ser necesario realizar una verificación heterogénea, es decir, utilizar diferentes formalismos para la verificación de cada una de las partes del problema completo. Además, es beneficioso permitir a los expertos formales elegir el dominio en el que se encuentran más capacitados para llevar a cabo una prueba formal. El principal problema reside en que el mantenimiento de múltiples representaciones formales de los elementos de MDE en diferentes dominios lógicos, puede ser costoso si no existe soporte automático o una relación formal clara entre estas representaciones. Motivados por esto, definimos un entorno unificado que permite la verificación formal transformaciones de modelos mediante el uso de métodos de verificación heterogéneos, de forma tal que es posible automatizar la traducción formal de los elementos de MDE entre dominios logicos. Nos basamos formalmente en la Teoría de Instituciones, la cual proporciona una base sólida para la representación de los elementos de MDE (a través de instituciones) sin depender de ningúningún dominio lógico específico. También proporciona una forma de especificar traducciones (a través de comorfismos) que preservan la semántica entre estos elementos y otros dominios lógicos. Nos basamos en estándares para la especificación de los elementos de MDE. De hecho, definimos una institución para la buena formación de los modelos especificada con una versión simplificada del MetaObject Facility y otra institución para transformaciones utilizando Query/View/Transformation Relations. No obstante, la idea puede ser generalizada a otros enfoques de transformación y lenguajes.Por último, demostramos la viabilidad del entorno mediante el desarrollo de un prototipo funcional soportado por el Heterogeneous Tool Set (HETS). HETS permite realizar una especificación heterogénea y provee facilidades para el monitoreo de su corrección global. Los elementos de MDE se conectan con otras lógicas ya soportadas en HETS (por ejemplo: lógica de primer orden, lógica modal, entre otras) a través del Common Algebraic Specification Language (CASL). Esta conexión se expresa teóricamente mediante comorfismos desde las instituciones de MDE a la institución subyacente en CASL. Finalmente, discutimos las principales contribuciones de la tesis. Esto deriva en futuras líneas de investigación que contribuyen a la adopción de métodos formales para la verificación en el contexto de MDE.This thesis is about formal verification in the context of the Model-Driven Engineering (MDE) paradigm. The paradigm proposes a software engineering life-cycle based on an abstraction from its complexity by defining models, and on a (semi)automatic construction process driven by model transformations. Our purpose is to address the verification of model transformations which includes, by extension, the verification of their models. We first review the literature on the verification of model transformations to conclude that the heterogeneity we find in the properties of interest to verify, and in the verification approaches, suggests the need of using different logical domains, which is the base of our proposal. In some cases it can be necessary to perform a heterogeneous verification, i.e. using different formalisms for the verification of each part of the whole problem. Moreover, it is useful to allow formal experts to choose the domain in which they are more skilled to address a formal proof. The main problem is that the maintenance of multiple formal representations of the MDE elements in different logical domains, can be expensive if there is no automated assistance or a clear formal relation between these representations. Motivated by this, we define a unified environment that allows formal verification of model transformations using heterogeneous verification approaches, in such a way that the formal translations of the MDE elements between logical domains can be automated. We formally base the environment on the Theory of Institutions, which provides a sound basis for representing MDE elements (as so called institutions) without depending on any specific logical domain. It also provides a way for specifying semantic-preserving translations (as so called comorphisms) from these elements to other logical domains. We use standards for the specification of the MDE elements. In fact, we define an institution for the well-formedness of models specified with a simplified version of the MetaObject Facility, and another institution for Query/View/Transformation Relations transformations. However, the idea can be generalized to other transformation approaches and languages. Finally, we evidence the feasibility of the environment by the development of a functional prototype supported by the Heterogeneous Tool Set (HETS). HETS supports heterogeneous specifications and provides capabilities for monitoring their overall correctness. The MDE elements are connected to the other logics already supported in HETS (e.g. first-order logic, modal logic, among others) through the Common Algebraic Specification Language (CASL). This connection is defined by means of comorphisms from the MDE institutions to the underlying institution of CASL. We carry out a final discussion of the main contributions of this thesis. This results in future research directions which contribute with the adoption of formal tools for the verification in the context of MDE

    Hacia una carrera de 4 Años en computación en la Universidad de la República :una segunda aproximación

    Get PDF
    La Facultad de Ingeniería de la Universidad de la República lleva adelante la Carrera Ingeniería en Computación, cuya duración es de cinco años. Esta carrera es la única dentro de nuestra Universidad con cobertura amplia y coherente del área de informática (o computación, como reza su plan de estudios). A ella se le suma la carrera de Tecnólogo en Informática ofrecida conjuntamente por la Universidad y la Administración Nacional de la Educación Pública con un perfil marcadamente tecnológico. Desde hace varios años se está discutiendo en distintos ámbitos de nuestra Facultad la necesidad de contar con un título en informática de cuatro años de duración: Licenciatura en Computación. Esta propuesta está motivada por la necesidad de mejorar diferentes aspectos de interés que no son bien resueltos en la carrera actual. Este documento presenta una primera aproximación integral al tema que incluye, entre otras cosas, una propuesta de plan de estudios fuertemente basado en el plan de la carrera actual con una sensible flexibilización curricular. El objetivo principal de este documento es que sea un insumo articulador de la discusión en torno a este tema en los distintos órganos de la Facultad

    An institution for UML 2.0 state machines

    Get PDF
    The theory of institutions provides an elegant and robust framework for programming in the large and in particular for compositionality. It can be used to define an heterogeneous environment for the semantic definition of UML, consisting of a family of formalisms which capture various UML sublanguages, and morphisms that represent the expected semantic relationships between them. In this article we present an institution for UML 2.0 State Machines devised for collaborating with the definition of such environment. The semantics behind the institution is based on a previous work which deals with processing simple input events within a transition step. We also extend this semantics for handling sequences of events, and then for considering runs through the state machineLa teoría de instituciones provee un marco robusto y elegante para la programación de alto nivel y en particular para la composicionalidad. Puede ser utilizado para definir un ambiente heterogéneo para la especificación semántica de UML, el cual consiste de una familia de formalismos que capturan varios sublenguajes UML, y morfismos que representan las relaciones semánticas esperadas entre ellos. En este artículo se presenta una institución para el lenguaje de Máquinas de Estado de UML 2.0, ideada para colaborar con la definición del ambiente heterogéneo. La semántica detrás de la institución está basada en trabajos previos. Dicha semántica considera el procesamiento de un evento de entrada en el contexto de una transición de un paso. Adicionalmente extendemos la semántica para manejar secuencias de eventos, y además para considerar corridas a través de la máquina de estado

    Representation of metamodels using inductive types in a type-theoretic framework for MDE

    Get PDF
    We present discussions on how to apply a type-theoretic framework composed out by the Calculus of Inductive Constructions and its associated tool the Coq proof assistant to the formal treatment of model transformations in the context of Model-Driven Engineering. We start by studying how to represent models and metamodels in the mentioned theory, which leads us to a formalization in which a metamodel is a collection of mutually defined inductive types representing its various classes and associations. This representation has been put into use for carrying out and verifying on machine the well-known case study of the Class to Relational model transformation. We finally end up discussing ways in which the framework can be used to obtain provably correct model transformations

    A Systematic Approach for Evaluating BPM Systems: Case Studies on Open Source and Proprietary Tools

    No full text
    Part 3: Examples and Case StudiesInternational audienceBusiness Process Management Systems (BPMS) provide support for modeling, developing, deploying, executing and evaluating business processes in an organization. Selecting a BPMS is not a trivial task, not only due to the many existing alternatives, both in the open source and proprietary realms, but also because it requires a thorough evaluation of its capabilities, contextualizing them in the organizational environment in which they will be used. In this paper we present a methodology to guide the systematic evaluation of BPMS that takes into account the specific needs of each organization. It provides a list of key characteristics of BPMS which are ranked by the organization and evaluated using test cases and quantitative criteria. We also present case studies of open source and proprietary BPMS evaluations following our proposal
    corecore